/*
 * @Author: wwxin
 * @Date: 2024-04-09 13:48:54
 * @LastEditors: wwxin
 * @LastEditTime: 2024-04-10 16:01:02
 * @FilePath: /admin/src/main.js
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import Vue from "vue";
import axios from "./router/axios";
import VueAxios from "vue-axios";
import App from "./App";
import router from "./router/router";
import "./permission"; // 权限
import "./error"; // 日志
import "./cache"; //页面缓存
import store from "./store";
import { loadStyle } from "./util/util";
import * as urls from "@/config/env";
import Element from "element-ui";
import { iconfontUrl, iconfontVersion } from "@/config/env";
import i18n from "./lang"; // Internationalization
import "./styles/common.scss";
import * as echarts from "echarts";
import scroll from "vue-seamless-scroll";
Vue.use(scroll);
Vue.prototype.$echarts = echarts;
import basicBlock from "./components/basic-block/main";
import basicContainer from "./components/basic-container/main";
import thirdRegister from "./components/third-register/main";
// import flowDesign from "./components/flow-design/main";
import avueUeditor from "avue-plugin-ueditor";
import website from "@/config/website";
// import crudCommon from "@/mixins/crud";

import BaiduMap from "@/components/vue-baidu-map/index";
import request from "@/router/axios";
Vue.prototype.$http = request;
import config from "./settings";
import dayjs from "dayjs";
Vue.prototype.$moment = dayjs;

import icons from '@/icons' // icon
Vue.prototype.$icons = icons;

// 设置全局图片基础路径
console.log(120, 'main：',process.env.NODE_ENV);
Vue.prototype.$imgBaseUrl = process.env.NODE_ENV === 'production'
  ? 'https://api.aiqishq.com/'
  : 'http://pinche.com/'

// 业务组件

// 注册全局crud驱动
// window.$crudCommon = crudCommon;
// 加载Vue拓展
Vue.use(router);
Vue.use(VueAxios, axios);
Vue.use(Element, {
  i18n: (key, value) => i18n.t(key, value),
});
Vue.use(window.AVUE, {
  size: "small",
  tableSize: "small",
  calcHeight: 65,
  i18n: (key, value) => i18n.t(key, value),
});
// 注册全局容器
Vue.component("basicContainer", basicContainer);
Vue.component("basicBlock", basicBlock);
Vue.component("thirdRegister", thirdRegister);
Vue.component("avueUeditor", avueUeditor);
// Vue.component("flowDesign", flowDesign);
// 加载相关url地址
Object.keys(urls).forEach((key) => {
  Vue.prototype[key] = urls[key];
});
// 加载NutFlow
Vue.use(window.WfDesignBase);
// 加载website
Vue.prototype.website = website;
// 动态加载阿里云字体库
iconfontVersion.forEach((ele) => {
  loadStyle(iconfontUrl.replace("$key", ele));
});

Vue.config.productionTip = false;

Vue.use(BaiduMap, {
  ak: config.ak,
});

new Vue({
  router,
  store,
  i18n,
  render: (h) => h(App),
}).$mount("#app");
